//引入mapSdk
var QQmap = require("../../qqmap-wx-jssdk1.0/qqmap-wx-jssdk")
var mapSdk = new QQmap({
  key: 'FQLBZ-474AU-DGTVG-2DOZU-STEE3-JQFL4'
})
// pages/index/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    city: "获取中",
    // 轮播图
    swiperArr: [],
    // 首页导航数据
    navArr: [],
    // 拼团
    bookArr: [],
    // 广告数组
    advArr: [],
    // 猜你喜欢
    guessArr: []

  },
  // 获取地理位置
  getLocation() {
    //首先获取当前的经纬度
    var _this = this;
    wx.getLocation({
      type: 'wgs84',
      success(res) {
        const latitude = res.latitude
        const longitude = res.longitude
        _this.getGuessArr(latitude, longitude);
        console.log(res)
        //在调用接口获取本地经纬度之后再调用逆地址解析
        mapSdk.reverseGeocoder({
          location: {
            latitude: latitude,
            longitude: longitude
          },
          success(res) {
            let city = res.result.address_component.city;
            console.log(city)
            _this.setData({
              city: city
            })
          }
        })
      }
    })
  },
  // 获取轮播图
  getSwiperArr() {
    let page = this;
    // 发送请求获取数据 
    wx.request({
      url: "http://api.meituan.com/index/swiper",
      success(res) {

        // console.log(res);
        if (res.statusCode == 200) {
          page.setData({
            swiperArr: res.data
          });
        }
      }
    })
  },
  // 获取导航数据
  getNavArr() {
    let page = this;
    // 发送请求获取数据 
    wx.request({
      url: "http://api.meituan.com/index/entry",
      success(res) {

        console.log(res);
        if (res.statusCode == 200) {
          page.setData({
            navArr: res.data
          });
        }
      }
    })
  },
  // 获取拼团
  getBookArr() {
    let page = this;
    // 发送请求获取数据 
    wx.request({
      url: "http://api.meituan.com/index/pingtuan",
      success(res) {

        console.log(res);
        if (res.statusCode == 200) {
          page.setData({
            bookArr: res.data
          });
        }
      }
    })
  },
  // 获取广告
  getAdvArr() {
    let page = this;
    // 发送请求获取数据 
    wx.request({
      url: "http://api.meituan.com/index/ad",
      success(res) {

        console.log(res);
        if (res.statusCode == 200) {
          page.setData({
            advArr: res.data
          });
        }
      }
    })
  },
  // 获取猜你喜欢
  getGuessArr(latitude, longitude) {
    console.log(latitude, longitude, "猜你喜欢")
    var _this = this;
    //首先获取数据
    wx.request({
      url: "http://api.meituan.com/index/like",
      success(res) {
        console.log(res)
        //储存一个res.data
        let guessRes = res.data;
        //通过定位获取的位置 计算距离商家的距离

        //把返回商家的坐标提取称为一个数组
        let distance = guessRes.map(item => {
          var dis = {
            latitude: item.distance.lat,
            longitude: item.distance.lng
          }
          return dis
        })
        console.log(distance)
        mapSdk.calculateDistance({
          from: {
            latitude: latitude,
            longitude: longitude
          },
          to: distance,
          success(res) {
            //保存计算的结果
            let disArr = res.result.elements;
            console.log(disArr)
            //在原来的结果里面添加一个字段"dis"
            let newGess = guessRes.map((item, index) => {
              //拷贝另外一个对象的属性
              return Object.assign(item, { dis: disArr[index].distance / 1000 })
            })
            _this.setData({
              guessArr: newGess
            })
          }
        })
      },
      fail(res) {
        console.log(res)
      }
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.getLocation();
    this.getSwiperArr();
    this.getNavArr();
    this.getBookArr();
    this.getAdvArr();


  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})